这两种方法都需要提前下载CoreNLP最新的压缩包,再下载对应的语言jar包。从CoreNLP下载页面下载。将压缩包解压得到目录,再将语言的jar包放到这个目录下即可。并且要求java -version>=1.8。
接下来就是利用python对该工具的使用进行一个封装,这里主要给出两种常用的python wrapper。
1、使用stanfordcorenlp接口
见链接:Python中使用Stanford CoreNLP
这篇文档中将这种方法讲得很清楚,因此直接贴上链接,访问原文即可、、
2、使用官方Python接口python-stanford-corenlp
见链接:CoreNLP Python接口处理中文
在这篇文章中,作者是用的linux系统,并且拥有root权限。我这里提供另外两种不同环境的配置过程。
(1)windows 10 环境
在该环境下,配置环境变量与上文中的方法有一些不一样。具体方法是:
电脑右键->属性->高级属性->环境变量->新增->添加变量名javanlp,路径值为之前解压coreNLP得到的目录。
(2)linux 下不具有root权限的环境
在这种环境下,只需要在原文修改client.py里面初始化部分的代码的基础上再修改下即可。(路径:python-stanford-corenlp\corenlp\client.py)
# assert os.getenv(
# "JAVANLP_HOME") is not None, "Please define $JAVANLP_HOME where your CoreNLP Java checkout is"
start_cmd = 'java -Xmx{memory}g -cp "{javanlp}/*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-chinese.properties -port {port} -timeout {timeout}'.format(
memory=allocate_mem,
javanlp="/home/xiongzy/anaconda3/coreNLP/stanford-corenlp-full-2016-10-31",
注释掉:
# assert os.getenv(
# "JAVANLP_HOME") is not None, "Please define $JAVANLP_HOME where your CoreNLP Java checkout is"
将javanlp改为具体的值:
javanlp="/home/xiongzy/anaconda3/coreNLP/stanford-corenlp-full-2016-10-31"
然后进入python-stanford-corenlp目录重新重新安装即可python setup.py install
tips
(1)关闭server
每次第一种方法的代码中,每次使用后需要手动关闭server,nlp.close()。
第二种方法不用手动关闭,其自动关闭
(2)利用网页进行分析
当server处于开启状态时,可以通过ip:port(如:localhost:9000)打开网页版的分析器。效果如图。